Refactor ObjRef into an internal module for use elsewhere.

Ignore-this: 67df8debff9ef694f5997e1b74b58177

darcs-hash:20141112204530-4d2ae-6dafbb3f37d9017def4be390663035d514dd6aca
Change to pass OpenGL version and item dimensions into canvas delegate.

Ignore-this: 33260cbb60adfec174f878923234c789

darcs-hash:20141112221212-4d2ae-db9e448476cfdc5d1df6c07d542effd8be526759
Add Weak module to standard imports.

Ignore-this: aa3a9c0ca0c0f54c5b0cdac46f01b699

darcs-hash:20141112221511-4d2ae-87dcefb5c33e64cc831a5a08616177d89a4da660