Fix #2 - improve error messages (exceptions were not handled)

It also improves the ansi formatter which has a few shortcommings:
  - is does deal well with parsing errors
  - it uses backslash as a separator, which is a fairly common character

This commit fixes temporarily those issues but to address them properly
AnsiFormatter should be turned into a macro.

The html formatter is gone.
There are now simple ansi primitives to avoid parsing issues.