Improvements & Bug crushing

This commit:

* Window configuration now uses ObjGraph internally; yay cleanliness.
* Canvas does likewise.
* Got rid of the pointless secondary buffer for Canvas.  We're doing
offscreen rendering to begin with, and it's hardware accelerated
already, so let's save resources.
* Canvas now supports super- and sub-sampling.  Set the
window.rendering.sample config property a value that is not 1.0 to
activate this feature (not yet tested).
* Canvas#displaylist() update to require a boundary for sprite
selection.
* As such, Canvas#pick() is no longer broken.
* Same goes for rendering.
* Frame limit has been enabled.  This is active IF AND ONLY IF the
canvas isn't suspended (there is stuff to render).  Set
window.rendering.frame_limit to a non-zero, non-nil value to engage it,
or call Canvas#fps_limit=().
* Images now ensures that removed instances of loaded image data
immediately releases any memory resources (VRAM or otherwise).