APC Area update initial commit.
Effeciency Project:  APC / Machinery power usage.

We no longer run auto_use_power() on every machine every tick.
We now have a global list of areas, and areas that have an APC in them (all_areas and active_areas) no more looping through world bullshit.
A bunch of snowflakey as fuck machines won't use_power() in their process, you get two options, active and idle, use them!
This means a lot of machines won't double dip on power as well so power usage for the station has dropped about 20%

Because everything is snowflakey as fuck we're going to have some machines that don't force an update on their power usage.  Fuck them.
We should catch them with the root obj/machine/proc's forcing updates.
Removed my debug lines.
Bugfix:  All APC's will have maxcharge of 5,000

and not be at the whim of lag / how quickly it generates it's cell.
Code effeciency project: HUD items rewrite

Before: Every tick each HUD item would recalculate and redo images for every mob in view. For items like the secHUD where we're transversing implants and the various records this gets very expensive.

After: Mobs use their hud_list variable to store varius huditem images, when conditions change for those specific huditem images it updates the specific ones on demand. As a backup every 30 ticks or so the mob will update all of their hud_list.

Also: moved proc/RoundHealth() from 2 seperate locations into __HELPERS/mobs.dm
Merge pull request #4537 from JoeyJo0/dev

Yay smartfridges
Merge pull request #4545 from Ccomp5950/apc_rewrite

Effeciency Project: APC / Machinery power usage.
Merge pull request #4553 from Ccomp5950/hud_rewrite

Code effeciency project: HUD items rewrite.