todo:
- dynamic lights
- fx
- enemies
  * movement
  - spawn at bsp ents
  - death
  - damage player
  - anims
- menu, options
- save/load system
- don't tesselate patch on axis with no curve
- demos
- demo rendering to video
- custom folder
- input manager?
- mobile inputs
- water, underwater rendering
- water movement
- trenchbroom
- renderables culling
- weapons
  * viewmodels
  * ammo
  - tracing against bsp & entities utils
- fix gray lines in text rendering (console, dialogue)
- better cvar change tracking, clean up main
- fix getting stuck on walls midair
- fix walking up stairs if hugging wall
- parse pipelines from files (see gs_parse_*)
- draw bsp models[1 ->]
- frustum cull models

done:
* fix pipeline
* fix visible faces draw
* lightmaps
* textures
* fix collisions
* entity
* player
* player movement after collision
* models
* animations
* figure out render arch for bsp, models, gui, etc
* ui manager
* console
* character step code
* texture manager
* ui font size
* ui background rect
* ui abstract dialogue box
* ui element duration
* valgrind
* coyote time
* command struct, funcs
* texture filtering, mips (nearest, bi-, trilinear)
* android build
* time manager
* wireframe rendering toggle
* frustum cull bsp leaves
