MNT : pep8 + pyflake changes

 - strip white space
 - rearrange 'not's
TST : ensure canvas drawn before testing widets

Widgets assume that the canvas has been drawn atleast once
before they are called (which is reasonable for interactive usage
as the user needs to be able to _see_ the gui before they can
interact with it).  Ensure that the tests draw the canvas
before trying to use the widgets.  Doing this allows for removing
some of the error handling logic from the widgets.
Merge pull request #1 from tacaswell/blink_improve_selection_widgets

Blink improve selection widgets