Refactored Type system

- changed into Sub-class basic types
- changed Enum info -> EnumTypeDecl
- split up AST into separate lists (uses, types, vars, etc)
- re-wrote Analyser to use new Canonical Types (FileAnalyser)