Added example and function 'toIdentifier :: DataType -> Identifier'
* Changed show of MonadStates
* Now we don't have a scopeNum in the Symbols, we can get it from the stackScope
Some error handling
Calculating width of variables and Types. Missing functions.
Functor, Foldable and Traversable for SymbolTable.
Now we have a DataType cosntructor called 'Struct' that holds the fields, Record and Union now only hold names. Errors of fields now can't tell identifiers.
Now the DataType Zipper calculates dimensions too