Add feature of view to match by extension
Fix a bug the method call replaced unexpectedly
Fix object using Class::Struct instead of hash
Fix a bug that has not been sorted correctly
Change the matching priority to each defined order
Change to \A and \z is treated symmetrically

With this change, it will be necessary to modify some controllers.
Change to `CamelCase` becomes `/camel-case/`
Change the pattern of string has highest priority

Now, the priority order is "string" > {extention} > /regexp/.
Add some test about routing
Fix a bug that most word treated as a keyword
Fix bug that text is broken by the source filter
Fix keyword source filter becomes more accurate
Add tests for the keyword source filter
Fix to use the preferred style of `no critic`
Add tests for view
Add feature to decode PATH_INFO
Fix to optimize priority sorting