Better error messages for hook syntax errors

Sometimes, I accidentally type fake identifiers after a token hook (`{#`). If I were to type, say, `{#notreal#}`, and preprocess it with `c2hs`, this is the error it would give me:

```
c2hs: src/C2HS/CHS/Lexer.hs:(252,3)-(306,35): Non-exhaustive patterns in function posOf
```

Whoops, it looks like there aren't `Show`, `Pos`, or `Eq` instances for `CHSTokHook`. After adding them, this is what the error tells me:

```
src/Pointer.chs:11: (column 1) [ERROR]  >>> Syntax error!
  The phrase `{#' is not allowed here.
```

That's better, but I still don't feel as if this is telling me the root cause of the issue. After adding an additional syntax error case to `parseFrags0`, the error now feels more enlightening:

```
src/Pointer.chs:11: (column 3) [ERROR]  >>> Syntax error!
  The phrase `notreal' is not allowed here.
```