citra-qt: Rewrite disassembly view.

Changed the underlying Qt code to not reinvent the wheel in the most stupid way possible and to actually use Qt's model/view framework instead. That should not only be good for code readability but also for performance, even though it still struggles when browsing large chunks of disassembly >= 1 MB in size. Additionally it's more flexible than the previous code since it supports loading new code on demand.

Other than that, slightly changed the colors of the breakpoint highlighting (RGB 0xff 0xc0 0xc0 now) and re-added the "next instruction" highlighting (RGB 0xc0 0xc0 0xff).

Also fixed a ridiculously needless memory leek when allocating an `BreakPoints` object (the interface of which is horrible by the way, hence also the need for some nasty hacks. I'll let the author of said interface fix this).
With this PR, you should add the following here (or something like it): 
```
           } else if (index.column() == 2) {
                if(Symbols::HasSymbol(address)) {
                    TSymbol symbol = Symbols::GetSymbol(address);
                    return QString("%1 - Size:%2").arg(QString::fromStdString(symbol.name))
                                                  .arg(symbol.size / 4); // divide by 4 to get instruction count
                } else if (ARM_Disasm::decode(instr) == OP_BL) {
                    u32 offset = instr & 0xFFFFFF;

                    // Sign-extend the 24-bit offset
                    if ((offset >> 23) & 1)
                        offset |= 0xFF000000;

                    // Pre-compute the left-shift and the prefetch offset
                    offset <<= 2;
                    offset += 8;

                    TSymbol symbol = Symbols::GetSymbol(address + offset);
                    return QString("--> %1").arg(QString::fromStdString(symbol.name));
                }
            }
```
...Which adds function calls to the disasm view. Very helpful.