Allow >> in type generics syntax

We support this in a similar way to the way parsing regexps work.
When we look for the `>` we let the scanner treat `>>` as `>` and
decrease the position of the scanner so that next token it sees
starts after the first `>`.

Fixes #1467