disassembler: keep a per-fixup-type list for speedup
additionally to the traditional mixed fixup list, we
now keep a list per fixup type.
the old mixed list is kept because there's some code using it
in a sequential way (the one using "currfixup" var), which is not
that straight-forward to modify.
this reduces total runtime by about 10%.
the worst offender, find_fixup_for_globaldata() improved from
17% to 8% cpu usage, whereas has_datadata_fixup() practically
vanished completely from perf reports (previous: 12.5%).