better selection state differentation, add rubberband rect returning on update, added map(), did the seperating axis test for touches rect