機能拡張を含みうる要素をインタフェースから抽象クラスへ変更。デバイスはファクトリとして各実装をインスタンス化するが、初期化メソッド呼び出しにより D3D 実体を生成する手順へ変更。