Add RVMViewModel base class

Taken from GitHub for Mac, with all the hierarchy stuff ripped out.