add screenwatcher to screen

For autoload purposes, hs.screen now does a require on hs.screen.watcher, even though functionally they are independent (though it's impossible to tell *what* changed in watcher without it's parent, it's not actually required for functionality).

Looking at the autoload code, this looks to be non-trivial to fix, but I'll look closer tomorrow when I'm more awake. And probably not worth it either way... if you're that concerned about a few bytes, you probably disabled the autoloader anyways.

Also moving error wrapper to functions into obj-c code... if user wants a different error process, they can wrap the function themselves and as long as their handler doesn't error out, the internal one is never invoked.