Running Shor's algorithm on a complete, gate-by-gate implementation of a virtual, universal quantum computer