Implement sidebars that can be toggled with L and R.

Summary:
This implements the ability to toggle the UI sidebars with the `L` and `R` keys.  When a sidebar is extended out, the focus of the player should shift so that the player is in the centre of the remaining area of the screen (just like in Diablo II).

Unit tests are provided around the viewport logic since it's a singleton and is going to end up being pretty important.

Test Plan: Apply the patch and run the game.  Press the `L` and `R` keys to toggle the sidebars and make sure that the game behaves as defined in the summary.

Reviewers: Sabre070

Reviewed By: Sabre070

CC: buildbot

Maniphest Tasks: T106

Differential Revision: http://code.redpointsoftware.com.au/D83