feat(metal): add init hook
feat(metal): add init hook

The init hook allows users to provide their own constructor-time logic without
needing to worry about proper handling of container references. The constructor
function signature required by DenaliObject is private (may change without
warning) so `init()` provides a reliable, publicly supported way of running
logic at instantiation time

acburdine/denali,denali-js/denali,denali-js/denali,acburdine/denali,denali-js/denali,acburdine/denali