Interactive legend

An interactive legend plugin as discussed in #191 and #80. A simple visual test of the plugin is provided, as well as a more elaborate explanation of what can be done in the form of an IPython notebook. 

With respect to #194, at the moment I pass the id for both the marker as well as the line in case of Line2D instances. On the javascript side, the id's that return null are filtered out. If the suggested ````has_line()```` and ````has_markers()```` are added, this can be handled completely on the Python side.