talent: wire exec pre-hook for routine state
Give exec.md its own pre-hook (exec_context.py) so $active_routines and
$routine_suggestion substitute with real runtime state when the routines
skill loads. Extract the shared rendering + eligibility logic into
talent/_routine_context.py; chat and exec now produce byte-for-byte
identical routine vars. Chat retains its other template vars and the
owner_message trigger-counting side effect.