added ui.base addclass/removeclass methods
updated most ui components to use elation.require() and inherit from ui.base