Added ability to plot callables

Plotting functionality for Python callables, ala Matlab's 'fplot'
function.

A fixed step-size is used, but is recalculated to fit the viewport on
zooming and panning.  This has the effect of 'discovering' more of the function
when the user zooms in on the plot.

Only one callable is supported so far, it would be desirable to support
an array/list of callables and plot them all simultaneously.