genlist: supporting homogeneous mode about each item class.
Summary:
previously, homogeneous was only supported for one type of items or group items,
so if user want to use various item styles with different height,
they should set homogeneous false.
This patch is increase usability of homogeneous to make possible homogeneous for
each item class, with the assumption that every item in same class have same height.
Now the item class not only define it's style and class funcitons, also define the
shape properties of item including height and width also.
@feature
Test Plan: Already exist test case in genlist group
Reviewers: raster, cedric
Differential Revision: https://phab.enlightenment.org/D3396