Organize and update player-control code

- Organize the pointerlock and keyboard code into helper functions.
- Move pointerlock CSS into css file.
- Only activate the keyboard once clicked screen (so can't move around
  if pointerlock isn't activated).
- Start player facing the buildings, rather than in a random direction.
  This was caused by a bug initializing `this.pitch` and `this.yaw` to
  inconsistent values.