Get widgets from function annotations and default arguments.

Also, preserve the order of function parameters from the signature where
possible.

This uses a backport of the Python 3.3 signature machinery that @minrk
found and improved.
Merge pull request #11 from takluyver/newinteract-widgetsources

Get widgets from function annotations and default arguments.