Fixed Sprayer Tile.

It now runs smoothly. It also caches it's redstone state, and I
reorganized the way it found the effects and potions.

Sprayer also rotates when placed, though it doesn't render or use that
in any way.

I also made the ParticleHandler only send the packet to players in view
range. Meant to do this a long time ago. Had to pass a World object to
it in order to get the Dim Id. No big deal.

Due to some bugs in Redstone caching, it needs and update to Core to use
redstone states from anything besides a repeater.