Issue #134: added 'select all'; also, made button enabling a quiescent operation (since it's potentially time consuming;
if user is dragging things around at 30fps, no need to do these calculations each time)