Rewrite symbol table

This changes the way the symbol table works. It now contains three maps, one for functions, one for data, and one for labels. Functions and data each have a size, but no name. The name can be gathered by getting the label for the start address.

I think it's a lot cleaner and faster this way. With functions and data completely seperated, this also makes managing data in the function analysis a lot easier.

I tried to fix the Qt build, but I can't get it to compile myself, so I'm not 100% sure that it works. I think there were a few games where the symbol table was pretty time critical, but I don't have any of them myself so I couldn't test them. @unknownbrackets probably knows them best.

The combo box in the Windows debugger now actully does something, too.