Allow water springs to be disable independently of everything else
First Iteration of Gate Rewrite

GateKind enum is gone, replaced with two enums: GateMaterial and
GateLogic.

Pulsars and Timers are abstracted into GateExpansions that can be
applied to "upgrade" a gate. (Incomplete)

GateExpansions will eventually be moved to the API so that other can
define new expansions easily.

GateExpansions are not currently serialized or synced to the client.
This remains to be done.

Legacy migration support is included, but untested.

Currently only the base logic texture layer (white/black) are being
rendered. Eventually the material and expansions will each render an
additional texture layer onto the gate.