Modify RouterCollection to use `SplObjectStorage`

- This make the RouterCollection class more simple and clean.
- More fast, because SplObjectStorage is implemented in C