Fixes #51: IcePAP axis state mix between greenlets/threads
Tries to fix a possible state mix between two or more axis that are queried concurrently for the state (different greenlets or threads)
Also minimizes dictionary copies when creating new AxisState
objects.
This seemed important since in a motion loop these objects might be created quite often.