Client physics integration

Integrates clients with they physics system so that users of the library don't have to build their own physics simulation to properly interact with the server. Things to do:
* keep track of the current game mode so we can turn gravity off in creative mode
* find a way to test the robustness of the current locking strategy: it appears to work, but maybe there are other things that need locking/syncing.
* Implement a way for client code to wait on a physics step (ManualResetEvent?)

I'm a derp and deleted #202 before it was merged.