* shadertools: Prepare for new target Langugaes and APIs
This improves shader tools command line by adding support for target
language and api.
* Address gdkchan's comments
Here come Salieri, my implementation of a disk shader cache!
"I'm sure you know why I named it that."
"It doesn't really mean anything."
This implementation collects shaders at runtime and cache them to be later compiled when starting a game.