I've now managed to get about 0.8 fitness in 30 or so generations, and the node tries to catch everything.
We need to rewrite the point awarders to do exactly what they intend to do. No hidden rewards in HitAwarder for instance!

Had an slightly different approach to the same idea in the last commit, so I've rewritten stuff:
-INode has a "calculateNextY()" that does what "updateY()" previously did. This way we store the next Y-value temporarily while we work in the same layer.

-CtrnnPhenotype's getMovement() now has four loops, two for each layer. First loop calculates new Y values, second loop updates them. This way the outputs don't change until we proceed to next layer. Also added an unused control mechanism where we set the "nextY"-value to Double.NaN. Not sure what I want to use this for yet.

-getMovement() picks the most eager motor node and sends the movement from that node. So if the first motor has the highest output it goes left by some speed etc.