Introduce warmup functionality

This enables a module to define "warmup" functions for its handlers,
which act as callbacks that are fired once the router is initialized and
ready to go.