Allow multiple `init` and `run` callbacks using class methods

This changes the view handlers callbacks for before/after
init/run to use a class level DSL instead of defining the
correctly named method. This allows configuring multiple of
these procs and having them all run. This is useful when mixins
each add their own callback. With this, callbacks don't have to
worry about `super`ing to make sure all defined callbacks are
run.