Selection

This pull request refactors the SelectionLayer to go with the singleton architecture. It also selects nodes when the rectangle includes the node. 
Things that need to happen: I need to find a way to calculate the transformed pixel location when the workspace is zoomed and dragged. Still trying to figure that out.