Adds support to avoid VRaptor stack if needed

When migrating a large project from another MVC framework to VRaptor sometimes there is a need to maintain both frameworks configured in the same web.xml during the migration period. In some cases it would be preferable to configure VRaptor filter with /* mapping and then programmatically choose to trigger VRaptor stack or not. With VRaptor 3 this can be accomplished by extending VRaptor filter and calling chain.doFilter(...) instead of super.doFilter(...).

We are currently migrating a large project, in production, from Struts 1.3.7 to VRaptor 4 and we've customized Struts to let CDI create it's Actions and sometimes HttpServletRequest dependent dependencies are injected in those Actions.

As a migration strategy we opted to gradually change URLs from Struts Actions to VRaptor controllers, and route all mobile user agent to VRaptor first (to be able to accomplish a mobile first approach). VRaptor must be the first to answer the request but it's stack should only be triggered for mobile requests. If even so, the route doesn't match any VRaptor Controller the request should be propagated to Struts (will take some time to migrate all Actions and as soon as one Action is migrated to VRaptor that change goes to production).

This pull request intent is to facilitate programmatically avoiding VRaptor stack if necessary by specializing the RequestStartedFactory and firing any event that doesn't extends VRaptorRequestStarted and implements RequestStarted. This support makes it easier to make large projects migration such as this, and as so, can increase VRaptor adoption in such scenario.