Replace hardcoded frame number in plDTProgressMgr.

This was overlooked when the consolidation was done in 3027e0605c2.
With this fix, the number of frames to be loaded is entirely defined
in a single place.  This also prepares the code for a future commit
to remove the necessity of the compile-time definition entirely.
Merge pull request #370 from Deledrius/framenum_fix

Replace hardcoded frame number in plDTProgressMgr.
Naïve fix for draw-loop starving.

Herp derp, it helps to fire off the update callback once an object is
read...
Minimize calls into shell APIs
Fix logic error that causes slow string lookup

Recall that plKey object IDs are index-1 (unless they key is fixed, in
which case the ID is always 0), whereas vectors are index-0. JOY TO THE
HAX!
Inline plKey::operator==
Fix a bug related to trashed keys.

It appears that the hsTArray memory management really sucks for smart
pointers like plKey. The crash mentioned at
http://forum.guildofwriters.org/viewtopic.php?f=117&t=6291 went away
immediately after switching plKeyCollector to an std::set.
Merge pull request #371 from Hoikas/keycol-set

Fix plKeyCollector key trashing...
Merge pull request #372 from Hoikas/draw-starve

Smoother Spinning Dots
Merge pull request #373 from Hoikas/linking-perf

Low-Hanging Linking Performance