__new_var_initializer_global() によるコード出力位置を修正

通常のコード位置ではなく、上側(pB()による)へコードを出力するように修正。
実行時のコードは上側だが、コンパイル時の解析の位置は変わらないので、
コンパイル時に副作用的な悪影響は無いはずだし、同様に実行時にも問題は無いはずだと考えてる。

グローバル変数の個々のメモリー位置はユニークで、かつ、メモリー位置は実行時の間は不変なので、
メモリー位置の使用ルールの決定を、実行時の早めの段階で行うように順序変更しても、
他への副作用的な悪影響は無いはずだと考えてる。
EC_CONSTANTにおいて、定数が正しく初期設定されないバグを修正

ある定数が初めて登場した時点で、その定数の初期設定コードを出力するが、
実行時に、初期設定コードが実行されないようなフローであった場合に、正しく初期設定されない。
というバグがあった。

例:
        1: void f()
        2: {
        3:         int a = 2;
        4: }
        5:
        6: int a = 2;

この場合、定数2が最初に登場するのは3行目。
従って、3行目辺りのコードをコンパイルする時点で、定数2の初期設定コードも出力される。
しかし、上記のコードでは、実際の実行時には f() は呼ばれていないので、
f()内に存在する初期設定コードも、実際の実行時には動作しない。
すると、6行目の定数は、実際の実行時には初期設定されてない状態となるので、正しい値を得られない。

そこで、今回のコミットで、
定数の初期設定コードが必要となった時点(上記の例では3行目)で、初期設定コードを「上側」へ
出力するように修正した。
「上側」とは漠然とした言い方だが、厳密な名前やルールは決めてないので、なんとなく「上側」と言っている。
これは通常の pA() ではなく pB() によって出力した場合に、この「上側」へコードが出力される。

「上側」は、「実行前に行うべきな初期設定ルーチン」を置く場所として考えている。
それは osecpu-aska のヘッダーのインクリュードや、細々とした設定、
レジスターへの名前割り当てや、そして、定数の初期設定などである。