When rendering the <scripts>, <styles>, and <links> defined in *-themes.xml - the <p:theme /> tag appears to reorder the elements, specifically by placing all of the <link> tags after all of the script <tags>.
It appears as though the PortalThemeMetaDataFactory.addChild() methods pull all of the scripts and styles separately.
This is undesirable because theme authors should be able to control the order of their includes:
1) Often, the order that CSS rules are included will affect how the rules are applied.
3) Rendering all of the scripts before all of the link tags can be a performance problem (see: http://developer.yahoo.com/performance/rules.html#css_top)
This is related to: https://jira.jboss.org/jira/browse/JBPORTAL-1105