Refactored Anchor.js to be a little cleaner
Changed Gate.js to be factory functions

Gates are also now properly extending Kinetic.Group, anchors are
also now more accessable
Removed gate move listeners from connection object

When a gate is moved, a callback in gate now calls a callback in
all of its anchors. Its anchors then call a callback in all of their
connections, updating the position.