refactor quantum circuit class

refactor quantum circuit class into two circuit classes: a conceptual
circuit and low-level circuit with quantum gates and associated
operations