Sniper scope improvements, binoculars

Sniper rifle zoom now adds a client.pixel_x/y offset in addition to zoom. Currently 11 tiles in the direction the user is facing, keeping the user in the field of view, one tile away from the edge. Zooming can now be done through the right-click menu.

Binoculars added. Functionally similar to sniper scope. Adminspawn-only for now.
Does this actually work? Reference does not list ```locate(type,container)```, so it might be actually trying to locate a turf with coordinates (type, contents, null) using  ```locate(X,Y,Z) ``` signature, as only one that has more than 1 arguments.
Usually locate is used as in example two lines above - ```locate(type) in container```