Refactor load/unload logic for Viewport and Layouts

- Remove the "isLoadNeeded" flag for drawing - now the Layout has full
  control over when things are loaded and unloaded
- Refactor shouldLoadRender call to add a "shouldUnloadRender" call, so
  the layout can specify one of 3 actions: load, unload, or do nothing.
- If the Layout#shouldLoadRender returns true, Viewport will call
  Layout#loadRender.  If Layout#shouldLoadRender returns false, Viewport
will call Layout#shouldUnloadRender.  If this returns true, Viewport
will call Layout#unloadRender.  If Layout#shouldUnloadRender return false,
no action will be taken.
0.0.1-84