Neural Network is not getting better
Your training algorithm seems wrong. You should either implement Back Propagation, or tweak your own training algo towards that.

Now your training brings all the weights to an average value, that's why your output seems so close after 10000 iterations. What BP does is it modifies the weights that matter more.

Alternatively, if you don't want to use BP, you can play with evolution instead. It will give you the same result, just slower.

edit: can you post your training algo's code somewhere?
Also, you don't really need different objects (like Neurons, Connections, etc.), you only need matrix algebra for an efficient solution.