create mdv, observe packages separate from web-ui; port MDV v2

Previous change review is here:
https://codereview.chromium.org/14732003/

For now, I'm trying to do these features in a package rather than in dart:html

I believe I have addressed all previous review comments.
@sigmundch @blois -- what do you think of this rev?