Quantum complexity theory