Big change to Pin position

Pin Position is now calculated correctly and doesn't need startPosition
anymore. (huge leap!)
Also some other performance enhancements. (i.e. no more usage of
.offset())