Optimize typescript builds to remove dependancies between outputs.
 - Build lib/pow2.js, lib/pow2.game.js, lib/pow2.ui.js typescript outputs, and generate .d.ts files for each.
 - Systems reference other system's .d.ts files instead of the source typescript file.
 - Output single file JS for each typescript subsystem, and rely on Source map files for debugging.
 - Stale output files no longer happen (e.g. rename a file that has already been built) because the single output file is rewritten each time.
 - Redundant file compiles are reduced because references to other systems terminate at the .d.ts file.