smaller executables

- Move all tables into functions or structs so that
  dmd's multilib will put them into separate archive
  objects. This allows the linker to only pick the
  tables that are actually used.

Also see the corresponding pull for the unicode_tables generator.
https://github.com/blackwhale/gsoc-bench-2012/pull/3