Split Swing dependencies into their own profile

That profile is still on by default, but now if you run mvn with
-Djava.awt.headless=true, the Swing dependencies will be excluded.
In this way, you can get the list of artifacts that we explicitly
sanction for use in a headless environment.

Thanks to Lee Kamentsky for the suggestion.