* last version before attempting to implement a better model for pattern learning layers which is more biologically plausible.
* So far, this v1 model can learn very simple patterns such as lines and complex shapes drawn by lines (this is judged by measuring synapse wights)
- First version with serialization, there is an issue with save file size that is very large. A manual serialization method should be written to replace boost::serialization.
- Now every object has its own pointer to networks' time to improve performance.
- The bottleneck is on cheking spike times to weather add their input to a neuron or not. It should be replaced with a more efficient solution. Maybe a dynamic list (trough time) which every element in this list is representing the given input in a fixed time. Something like izhikevich implementation but more efficient in using memory.