remove plugin,native_plugin from project
Config, Plugin, Skin のメンバの Dirs を QStringList に変更。

これらのクラスを Qt Script から直接扱えるようにするため、Qt Script の自
動変換の恩恵を受けられる QStringList に変更します。
関数名の命名規則を（lower）キャメルケースに変更。

QObject をスクリプト環境に公開する場合、シグナル・スロットの関数名がその
まま使用されるため、JavaScript の一般的かつ標準の命名規則に合わせます。
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() などの関数がスクリプトから利用できず、逆に余計なプ
ロパティ・メソッドが多い。
独自のクラスでラップして必要なプロパティ・メソッドを個別に実装します。
設定ファイル名を .cllaun または _cllaun に固定。

任意のファイル名を使えるようにする意味は無さそうなので。
複数ファイルを使用する場合は .cllaun または _cllaun から include()
require() などの関数を使用します。