Steps toward a fully operational battleship.

- We can now parse recursive rules, and handle $self. This turned out to
  simplify things rather than complicate them. Yay!

- We can now parse grammars directly from the plist/XML .tmLanguage files.

One still has to twiddle the regexps to switch from Oniguruma to Java Regexp,
but that's not a heinous obstacle, merely an unpleasant one.