Typed Genetic Programming introduced as optional.

Functions and Vars can now be defined as typed, as well as the problem itself.
Genetic programming - fixes and improvements

- whitespace, comments, a bit improved
- deep copying problem fixed in prog.py
- typed programming example improved
- Graphical display for outputs
- Improved checks and messaging for typed programming

TODO:
Mating in typed code is dumb. Trees are split randomly
until they are both cut at the same type. This could be improved.