First pass at gamepad support

A few rough edges:

This transmits controller input on every animation frame, it's currently
faster than keyboard input as a result. Both keyboard and gamepad input
should use the same tick speed. It's also currently possible to enter
gamepad and keyboard input at once.

Only tested in Chrome, but that seems to be norm for this project.