don't try to auto-instantiate a view for every action
use Kohana:: for the cache directory instead of APPPATH/cache
add a ViewInterface which requires a render method
rewrite Controller::execute to require actions to return a view or null, and get rid of before/after