extended neuralnets to support arbitrary acyclic graphs

- Extended neuralnets to support arbitrary acyclic graphs
- Added a small class (NeuralInputLayer) to handle inputs to the network
- Made some minor modifications to the notebook to make it work with the modified API