Fix z-order when clicking 'assemble'

Fix a bug where the internal frames would be pushed to the foreground when
clicking the "assemble" button -- most importantly, they would be pushed in
front of the code editor, which is not re-created at this point.

The re-creation of the correct window order is somewhat dirty, since mapping the frames' names to the factory methods requires a large if-else construct.

A more elegant solution (in the absence of function pointers in Java) would be subclasses for the factor (be they descendant classes or just some inner classes) -- but the question is if this would improve readability or actually just make it even less performant (more class overhead, etc).