modularize output of Speck tool, fix memory issues

This PR replaces the hard-coded text output of the speck tool with a template-based solution which allows a developer to create output in virtually any format. This is done by making the results available as a Lua data structure (table of tables) which can then be accessed in a Lua-based output driver to create the final output. Think of it as MVC-like without the C. The output created by the drivers is fed back into the `gt speck` tool, and can hence be compressed, written to a file etc. using the `-o`, `-gzip` etc options.

For now, I have implemented output drivers for:
- Text (the same format as before, colorized or not)
- JSON
- HTML (self-contained, tabbed report in a single HTML file, example:  https://dl.dropboxusercontent.com/u/18691017/html_example/index.html)

TODO: document the structure of the model.