Implemented support for networked multiplayer

Refactored some of Player into a Faller behavior. The responsibility of
the former is to perform all authoritative calculations for the player
while the latter keeps track of character state and serializes it for
transport across the network.