
引数順
　param連想配列
　オブジェクト依存引数

param
　parent: 親オブジェクト
　value: 文字
　rundown: 概要オブジェクト

再配置が起こるタイミング
　新規オブジェクト投入時
　　rowがやる
　オブジェクト削除時
　　削除を担当したrowがやるのかね
　文字数増減時
　　toRootで済ます
　フォーカス移動時
　　expが面倒を見る

ToDo
　スタイル付け
　MML（input）
　挿入ボタンサブメニュー
　選択
　表示するコントロール部品を選択するインタフェース
　後のオブジェクトの実装
　編集不可能オブジェクト

mrowを内包する - container
　Container
　Exp

mrow内に内包される - rowfactor
　Container
　Input
　Token

基準になる - mrow
　mrow

どれでも - element / 要素

expはコンテナ要素のみが持つ


フォーカスが入ったとき
　現在の状態を記録
　前履歴破棄フラグを上げておく

　（マウスによりテキスト操作、カーソル移動が起こる可能性）

初回keydown時
　テキストが変わっていればその場でcommit
　カーソルが移動していれば破棄フラグを折る

（BSにより他オブジェクト破棄の可能性）
（カーソル移動のみの可能性）

keyup時/onchange時
　他のオブジェクトが変更されていればrow全体で記録
　keydownからテキストが変わっていればcommit
　　カーソル位置が移動していれば破棄フラグを折っておく



フォーカスが去ったとき
　キー連続入力中にマウスなどでフォーカスが去ったときはcommitしないとマズい
　（keyupが起こらずにフォーカスが移動した場合は文字連続入力中のみのはずなのでcommitしない）

keydown中は再描画を抑制

focus, blurはバブリングしない


オブジェクト追加方法
・ボタンをクリック
　　1回で1操作
　　onclickの前にonblurが起こるので必ず履歴は閉じてる

・テキストで追加
　　追加前に履歴を閉じる
　　keyupでコミット+inputの履歴記録開始
