Major rework of wp_tegen and wp_scene

This represents the final commit of a major rework of the wp_tegen
module and its integration with the wp_scene module. Preliminary work to
abstract function calls in a pseudo-object oriented fashion is included
(though it's not perfect by any means).

Source revisions include improved readability, reorganization and
simplification. This is a squashed commit of about 18 commits on an
exploration branch.

Primitive object orientation added with degenerate method dispatch
(needs improvement). Class wp_tegen now inherits from wp_scene. Base
functions have been moved into wp_scene; wp_tegen handles overrides of
render and on_post_render functions, currently.

wp_tegen.w and wp_scene.w:
- wp_tegen main game loop, render, event, integration handlers are all
  scene-based handlers, now
- Move common code from wp_tegen to wp_scene:
  - wp_scene_handle_integration
  - wp_scene_handle_events
  - wp_scene_handle_input

wp_scene.w:
- First pass at creating a 'scene' dynamic
  - wp_tegen inherits from wp_scene, for example
  - scenes support various events, such as on_render, on_scene_enter,
    etc.
  - scenes are linked as lists; scenes may transition from one to
    another, or jump if necessary
  - This is a work in progress; not all features will make the final
    cut
- Add struct to track tegen global state, such as windows, renderers,
  etc.
- Add global state struct wp_global_state
- HUD code added in the base wp_scene module
  - Added F3 HUD diagnostic switch
  - Improved code organization with aforementioned separation of class
    functions

wp_tegen.w:
- wp_tegen_render now calls base class render function
- Encapsulate surface, texture and alpha properties for rendering inside
  a wp_image struct. Temporary and will morph as behavior's are added
- Alpha calculations moved to a post-render step, on_post_render
  function
- Smarter handling of image and background code in wp_tegen_render
- SDL_RenderPresent function call moved to the base wp_scene class
- Function pointers to handle functions determined before main game loop
  begins (temporary, to be reworked later)
- function variables moved to the global scene state (i.e. last_render,
  frame_count, last_second_time, fps, etc.
- Add tegen.h section output
  - Global header section (@h) added here
- Update #includes to pull in new tegen.h header
- Relocate the error handling code (at out0:) to a new named section
  for documentation purposes
- Main game loop added (initial cut)
  - Add #define for screen width/height
    - Will change in the future; this is a placeholder

wp_time.w:
- Add wp_get_time_in_us
  Returns monotonic ticks in nanoseconds (approximation)
- Add wp_sleep
  Sleep (SDL_Delay for now) for the provided milliseconds

wp_thread.w:
- Add wp_thread_yield
  Yield the thread (relinquish to the CPU)

tegen.w:

Various:
- Rename class-specific operations
  - wp_graphics.w:
    - gfx_ops renamed to ops
  - wp_tegen.w:
    - t_ops renamed to ops
  - tegen.w:
    - call updated class operations (ops->foo vs t_ops->foo)
- Documentation added/improved throughout
- Timer and thread modules added
- Makefile.in:
  - Includes all previous commits for wp_time, wp_thread and wp_scene
- Add title png/FreeMono font
  - Add title.png and FreeMono.ttf font as placeholders
  - Update configure script to pull in SDL_ttf and SDL_image
- Add .ai files to .gitignore
  - .gitignore:
    - For now, I'm not keeping media resource sources (*.ai) files in
      git. This might change later.
- Add title.svg
  - Export .ai to .svg format; media resources stored in git as svg for
    now