Screenhandler to use associative indices

The initial implementation of the screenhandler object was just meant
to better separate the DOM from the engine. To store references to DOM
elements, an array was used, but numeric array indices are difficult
to work with in this case, so now it uses element names instead.
Using requestAnimationFrame

The render loop now runs on the requestAnimationFrame function, rather
than the old setInterval.

TODO: Fix framerate to be constant.