Added a parser parameter to the HTML reader

This should allow for greater flexibility in case the reader works with one parser (e.g. html5lib) and not another for abnormal input.
I believe that `raise` inside an `except` block just re-raises the original exception:
```
In [15]: try:
   ....:     1 / 0
   ....: except Exception:
   ....:     raise
   ....: 
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-15-c1dd26726854> in <module>()
      1 try:
----> 2     1 / 0
      3 except Exception:
      4     raise
      5 
```