[Extensions] Fix memory leak

ExtensionData was being removed from the map but the pointer was not
being deleted.
[Extensions] Move XwalkExtensionData to its own file

This patch simply move bits around. The idea is ExtensionData is
becoming to complex to the point it deserves to be self-contained.
[Extensions] Make XWalkExtensionData a class

Add getters and accessors to XWalkExtensionData and make its attributes private.
The most important aspect here is we move the logic of how to delete the
objects owned by XWalkExtensionData from the XwalkExtensionService back to
XWalkExtensionData, making the lifecycle more consistent.