gui: fix crash in ArrayLayout

Use QEvent::LayoutRequest instead of updatePolish() to postpone relayout.
osc: server - throw exception on bad port
app: gracefully warn & exit on bad OSC server port