onbc.callstack.{c,h} の追加

関数呼び出し時のスタック位置を保存しておく為のモジュール。

このコミットの時点では、
まだ、関数呼び出し時のスタック位置の保存にスタックフレームを流用して行っているが、
(引数をスタックへ"積む前"と"積んだ後"の2段階で、どちらもスタックフレームに積んでいる)
"積んだ後"のスタックフレームは、その関数のローカル変数のアドレス計算に密接に関係してる為、
関数内で入れ子にして関数を呼び出す場合にスタックフレームが更新されてしまうと、
引数にローカル変数を渡す場合に、アドレス計算が正しく行えなくなってしまう。

そこで、関数呼び出し時に引数を"積む前"と、"積んだ後"とでは、別の種類として用意する必要がある。
そこで、"積んだ後"のスタック位置は、従来のスタックフレームが担い、
一方、"積む前"のスタック位置は、コールスタックによって担うようにしようと考えた。
そこで今回このコールスタック用のモジュールを用意した。

現在のコミット時点では、実際の動作にはまだ組み込まれていない状態。
コールスタックを実際に処理に組み込み

関数呼び出し時に、引数をスタックへ"積む前"のスタック位置の記録を、
スタックフレームではなく、コールスタックによって記録するように修正。

このコミットによって、
関数内での入れ子による関数呼び出しにおいて、
その引数に関数内でのローカル変数を渡した場合に正しく動作しなかったバグが修正された。