Generalize canvas3d (motion/release, background color)

These changes are intended to make it easier to use canvas3d for a
wider variety of applications.
- Control over background and wireframe colors: for some applications
  like fluorescence microscopy, black is the natural background color.
- For some applications, calculating the projection might be
  slow. Therefore I added the ability to have the redraw do different
  things on mouse motion and button release (the "crude, fast" version
  could be used for motion, and the "high quality" could be used for
  release).
- Fixes deprecation diagmm -> scale
On-screen plotting example, closes #38
Use more compact set_source_rgb
Merge pull request #39 from timholy/master

Generalize canvas3d (drawing on motion/release, background color)
Merge pull request #41 from emaadmanzoor/master

On-screen plotting example
Fix #43
Facilitate plotting to a canvas in a GUI
Merge pull request #44 from timholy/master

Fix canvas sizing
rename has to haskey. fixes #42
Merge pull request #45 from timholy/gui

Make it easier to integrate Winston into GUIs
remove unnecessary require of Gtk or Tk
Merge branch 'master' of git://github.com/nolta/Winston.jl
Fix return type

This is what I get for making cleanups after running my tests...sorry
Fix getattr
Merge pull request #46 from timholy/master

Fix broken return type
Merge pull request #47 from timholy/getattr

Fix getattr
use set_source instead of set_source_rgb
Merge branch 'master' of git://github.com/nolta/Winston.jl
haskey -> contains for a Set (fixes bug in one example)
Run the examples as tests