Harry Potter Shop opens 21,000 sq ft Oxford Street flagship