Page設計の見直し。

ユーザーが編集可能なページと、システムデータを管理するページを同じ体系で管理しようとするとmigrationスクリプトが膨れ上がるので(システムページの追加・削除をmigrationに書かなければならず、面倒)、分けることに。

システムページは1ページ1ウィジェットでほとんど困ることがないので、記述としては

def widgets
   # 通常のウィジェットの定義を記述   
   [
     {:name => "Profile", :controller => ... },
     ...
   ]
end

def component_widgets
   # コンポーネント管理用ウィジェットの定義を記述。そのままページ定義となる
   [
     {:name => "Login", :controller => ... },
     {:name => "Account", :controller => ...},
     ... 
   ]
end

という形でかけるようにする。page_add, page_update などのメソッドは排除。