reworked app interface to more accurately map to the corpus/document interfaces, made app it's own thread so it wouldn't block the UI, made interface changes related to this also