Bugfixing - hoist loop variables and use zone memory alloc for now.

Using the native memory allocator exposes a bug in how Doom can iterate over a freed thinker pointer in P_RunThinkers().  Fix this eventually (with code from MBF probably), but switch to zone memory for now so we can keep working.