added ko.viewModels resource capability, split off from component resource definitions, misc api cleanup