Compile generic class definitions (Issue #1)

- Generic classes are now translated into TypeScript
- Changed property implementation in generated TypeScript to use getters
and setters
- Public and private fields are now compiled into generated TypeScript
classes