I'm working on a project that is successfully replacing JBoss 7.1.1's JSF with MyFaces 2.1.9. We only use the context-param method in the web.xml (exactly as you have it) and do not have those exclusions in the jboss-deployment-structure.xml file. Note that we do have an exclusion defined for the log4j module in an attempt to use our own but that isn't working -don't know why-, but it appears we don't need it to override JSF. Also of note is that we don't have anything classloader controls in the jboss-web.xml. For our web.xml. we use the latest web-app version and namespace defs as follows (again don't know if it matters but it's what works for us):
<?xml version="1.0" encoding="UTF-8"?>
<display-name>Our product name</display-name>
blah, blah, blah...
Of course you need to put your new JSF lib(s) into the web-inf/lib and reconcile all proper dependent lib versions (probably not a problem with a 2.1.7 to 2.1.14 if sticking with the same JSF vendor, but worth checking them out anyway).
Good luck and hope this helps.