zones, subscribe and unsubscribe support

XWALK-865

In theory, it is true that class and struct are same in C++. But please keep in mind we're follow [chromium coding style] (http://www.chromium.org/developers/coding-style) for all crosswalk project in general. 

As for this one, my comment is not about on [struct vs class](http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Structs_vs._Classes) , it is about class  member rules, i show you the two links why I suggest you:
* [access control] (http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Access_Control)  for the make member as private.
* [variable names] (http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Variable_Names) for the underscore suffix

Again, I do not want to educate and show the link one on one that why we suggest you to do that. **PLEASE** read the development guideline that we highlight in the [contribute page](https://crosswalk-project.org/#contribute/coding_style).