Optimize simulator.
Add unstaged files.
Add delay support
Fix some warnings
Merge remote-tracking branch 'Selat/circuit'

Conflicts:
	src/circuit.cpp
	src/circuit_element.cpp
	src/circuit_element.h
	src/circuit_element_list.h