Bug 1096139 - Create websocket dynamically after we enable Layerscope. r=dglastonbury

We have to create the websocket if it doesn't exist after enabling
Layerscope. Therefore, we don't have to reboot the device anymore.

1. Remove the Init and DeInit in CreateCompositor and DestroyCompositor
   to prevent some unwanted deInits on the browser. (Our browser often
   calls DestroyCompositor)
2. Initize websocket only when we need it.
Bug 1100485 - Lock chunks during double purging to avoid racing with allocation. r=glandium