Simplify the parser code slightly.
Improve the parser to prepare for the introduction of types
Add half-support for types in expressions: signatures now contain types

Unfortunately it is not possible to add return type support in the
parser so the current types in the signature will be ignored.

Return types can be considered only once a tree has been built and
adjusted for operator precedence and associativity.
Make statements match the structure of C++ and Java statements
Fix the java import tool to correctly process switch statements
Improve the Java import tool

Add support for:
- Interfaces
- Enumerations
- Inner classes
- Floating point literals
Add support for declaring annotations