Many refactoring and improvements. Start implement Neural Network 2D
plotting.