Prevent adding map features outside instance bounds

 - Adds a client-side visual feedback during the add process as to where the instance bounds are
 - Adds server-side validation
Someone might call `disablePlacing` without having called `enablePlacing`, so I'd change this to;
```javascript
if (boundsGeoJson)
    map.removeLayer(boundsGeoJson);
```