### Description
Fixes bug in `TokenRouter` which dispatches messages to token recipient
rather than address in `Router` table when hook overrides are provided.
### Drive-by changes
Simplifies inheritance tree of `TokenRouter` > `GasRouter` > `Router` >
`MailboxClient`
### Backward compatibility
Yes
### Testing
Unit Tests
///@devAlso,usingexpectedCallwithMailbox.dispatch()won't work either because overloaded function selection is broken, see https://github.com/ethereum/solidity/issues/13815