evas: Fix layer usage count and deletion
When using smart objects (quite likely, isn't it?), the internal
layer usage count was not perfectly tracked. This was especially
true if layer_set() was called on a (top-level) smart object.
As a consequence, there could be no objects in the layer but the
usage would still be > 0. Thus, the layer was not deleted, not
removed from the inlist of layers, and efl_gfx_stack_above_get()
could return NULL as the layer above a certain object was empty.