allow use of drawing layers

Adds a set of layers to the game, which will cause 'draw-layer' events
to be emitted. Generates a 'draw' event in response to a 'draw-layer'
event for the appropriate layer (or layer 0 if no layer is specified).
Layers are drawn in their natural sort order, so layer 2 will be drawn
over layer 1, and layer 'beta' will be drawn over layer 'alpha'.

See related pull request on crtrdg-gameloop