Changes in sysfs attribute management

This commit reflects the changes in attribute managemet.
Previously the sysfs attributes were created using the kobjects
and sysfs_groups, which were quiet redundant.
The commit removed the concept of kobject and is now managing the
sysfs attributes using the struct device interface.