I believe that your scope for JSF-api and JSF-impl should be "compile", not "runtime".
Also, you can save making people edit the POM by setting up Maven profiles for Tomcat and non-Tomcat targets and put the appropriate dependencies in each.
Some people, when well-known sources tell them that fire will burn them, don't put their hands in the fire.
Some people, being skeptical, will put their hands in the fire, get burned, and learn not to put their hands in the fire.
And some people, believing that they know better than well-known sources, will claim it's a lie, put their hands in the fire, and continue to scream it's a lie even as their hands burn down to charred stumps.
Trust God, but always tether your camel... to this tiny ad.