Config, Skin を QObject 化。skin.read() を設定ファイルに移動。
Config, Skin の API 公開処理を main.cc から個別のファイルに移動。
グローバルの QScriptEngine やっぱりなしで。
remove Core
MainWindow クラスから QWidget に変更。API初期化を関数からクラスへ変更。

スクリプトから window や commandLine を扱うことを考えると、main 関数では
なく API 初期化処理内で生成、公開するべきだと思います。
クラスを使用することで生成したオブジェクトの破棄を main 関数で明示的に行
う必要がなくなります。
JavaScript の一般的な命名規則に合わせて command_line から commandLine へ
と変更しました。
スクリプト環境に公開するクラスを QWidget 系から独自の Widget 系に変更。

QWidget 等はおそらく元々スクリプトにそのまま公開することを意図して作られ
ていないため、move() などの関数がスクリプトから利用できず、逆に余計なプ
ロパティ・メソッドが多い。
独自のクラスでラップして必要なプロパティ・メソッドを個別に実装します。