Image bank

Adds Images module which contains all loaded images to ensure the
ability to instance sprites with minimal memory overhead, as the pixmap
is loaded only once and therein referenced by a Sprite as a UUID.

This commit also migrates the Physics module to its own file and moves
the image() and images() methods from the utils common functions to the
images source file.

Additionally, the Canvas has been updated to record and compute FPS
information, update all Sprites with each tic, and inherits
configuration data from the Window.