part 1 of LTE toggle support

Change-Id: I2e1cf08b4a6d49492eec63d4106c857b3905addd
fb: actually fix LTE toggle (1/2)

I accidentally pushed the LTE toggle patch although it was not ready.
Whatever here the fix for it. This commit does:

- do not assume that on boot ITelephony service is already up. This
  results in a FC on boot up
- handle like before most things in LTETile itself and call only
  the toggle action to prevend above mentioned
- I thought about it to give as parameter current network state
  to the toggle method to prevend to fetch 2 times the actual mode
  (saves 4 lines of code). But based on the idea that we maybe later
  use other shortcuts as well we will not do it.
- cleanup & codestyle

Sorry again

cheers

kufi

Change-Id: I33a694358cc47973c4a75dccae15ccc7062fdc22
Fix LTE tile (1/2)

thanks CM for the final fix.

Change-Id: I229551f17f530dac900c2c5dd55263d96f36a277
Solve three memory leaks related to PatchCache

A Patch can be fairly large, holding bitmap data, but
is also frequently leaked which adds to the severity.
The feature is used in many important processes such
as Home, SystemUI and Chrome.

The following leaks are solved:

1. The Patch itself was not always freed.
PatchCache::removeDeferred() can mark patches to be
cared for by PatchCache::clearGarbage(). But
mCache.remove() would only destroy the container
and the pointer, not the Patch object itself.

2. The vertices stored in the Patch at Patch::createMesh()
would always leak. The empty/default destructor in Patch
would not properly destroy "vertices" since it's just a
pointer.

3. A BufferBlock that's added to the mFreeBlocks
in PatchCache could leak. The leak happened when a
patch later needed the entire free block, because the
object was removed from the list but never deleted
in PatchCache::setupMesh().

Change-Id: I41e60824479230b67426fc546d3dbff294c8891f