履歴を前方と後方の分を2つスタックに持っておいて
戻る/進むのときは片方のスタックからPopしたものもう片方にPushする
Enterキー等で進んだときは前方のスタックを空にする
履歴オブジェクトごとに選択状態を保持するようにする