Added saving and loading to indexed db.

I added functions to controls for saving, and loading controller
bindings to the database, along with a function that opens a database,
and sets up the database if needed.

Also, I have the start of a new control interface from angular, to
allow for rebinding of controls, saving, loading, and resetting to
default, but it is not hooked up yet, or nearly finished.
Added current gamepad state to controls menu.
Changed how binding buttons to axes works.
Merging with Controls-Binding Storage

This is because we need some features of this branch so we can
implement network controllers.
Adding back in something removed.

“It was an accident, I swear!”
We got liftoff!