Implement generic type definitions for TorXakis - [x] Add generic type definitions. - [x] Implement new typing rules for generic types. - [x] Update existing type system to handle generic types. - [ ] Allow defining functions over generic types - [x] Create analyzer that checks for each generic type with which concrete types it has been initialized. - [ ] Create analyzer that checks for each generic function with which concrete types it has been called. - [ ] Create generator that uses results of analyzers to generate non-generic instances of all generic types and functions as needed.