More HyperNeat implementation.

Each CPPN node now encapsulates a CPPNFunction object; this is for
future consideration of calculating total network output (accumulating
each node's function instance for example).