Add watch_expr and unwatch_expr

I wound up backing these off their own infrastructure entirely after a couple of stabs at sharing it in with the watched var stuff got messy. It's a bit duplicated but I'm ok with it.

There are a couple of bugs it surfaced:

* Because the display never refreshes the screen, you get artifacts when you unwatch stuff, especially in the spacing.