Separating out parts of player's physics engine for use as a group behavior.

- Player's collision detection with with floor has been moved to TmxMap and is now applied to any object that is a member of the new "solids" group. This has resulted in a couple of odd issues with the player pushing into the wall or floor sometimes.
- Player's forced vertical velocity has been moved to TmxMap is is now applied to any object that is a member of the "matter" group.
- Checkpoints now work correctly using map.onBoundaryTransitionEnd. If the player dies, he respawns at the last check point passed.
- Despawning/respawning has been tested and appears to be MOSTLY working, though respawning seems to fail in some cases.
- Basic hard hat enemies have been added, but they have no behavior other than that which is applied to them via the core groups.
- core.Util has been split into core.ArrayUtil and core.GroupUtil.