.move removed, .level improved, type-safety improved.

[MOVED]     Controllers and modules moved into model package to allow package-private visibility of internal methods for some compile-time access violation checking.
[REMOVED]   MobilityModule.move has been retired in favor of .movement.
[UPDATED]   MobilityModule.level now returns a Levelling instance similar to .movement which can be used to check whether levelling is possible.
[FIXED]     Don't level when calling movement, delay until executing it.
[ADDED]     GameObjects now know the game they're in.
[ADDED]     PlayerModules are modules that can only be used by PlayerObjects: it is certain that the game object will have a player.
[IMPROVED]  Moved some logic out of model objects into controllers.