Refactor QWidget-based classes
Add tentative libnoise requirement