One pass parser and tests.

We remove the HTML test as it is no longer necessary. We cover the
test case in spec tests and other HTML tests but keeping this around
fails: this is because the new parser has different semantics there.
In fact, I suspect the original behaviour was a bug that wasn't
caught/fixed but simply included as-is during the testing.
Rename Haddock.ParseSpec to Haddock.ParserSpec
Move UTF-8 encoding/decoding to separate file
Make sure that parsing always ends at endOfInput
Failing tests for totality
Fix spec