Exception in thread "main" java.awt.HeadlessException
This is not surprising given the number of "headless hostile" components in Display2D. On the other hand, I might be able to do some more hacking on the code to make this work. I'll keep you posted on my progress.
In any case, maybe during next MASON refactoring you should consider splitting out the "headless friendly" functionality into a Display2D superclass; say, VirtualDisplay2D. That way one can fire up a VirtualDisplay2D that does not have all the GUI accoutrements that won't be used anyway and the be able to safely invoke "headless mode."