Add ability to specify function as 'observe'

I've run into situations where I would like to have reusable views with stickit bindings, but the model attributes I would like to observe differ between view instances.  Providing for a function to be used to set the `observe`d attribute allows for a more flexible and reusable view.

Tests updated with a use case.