* redefine cell callback function
* it takes 4 argus `content`, `row`, `rowIndex` and `columnIndex` in
* sequence.
* [test] fix unit test for new callback
* correct the version of story for new cell callback
* [DOC] re-define structure of Contents of Table
* [DOC] update document for attrs
* re-write description for each column props
* [DOC] update document for headerCell
* re-write and add extra description for each header column props
* allow user to customize attrs for column cell
* [test] add test for customized cell attrs
* allow user to customize attrs for header column cell
* [test] add test for customized header cell attrs
* update document
* add new utils isObject and isEmptyObject
* make cell attrs lowest priority
* if style, event, classes, hidden, style was not given, display the
* HTML attributes if it's legal. However, if the attributes mentioned
* above was defined at the same time, column.attrs has lowest priority
* and it will be overwrited.
* [test] unit test for column.attrs
* [test] unit test for column.headerAttrs
* update Document
* rename story name
* fix lint error
* utils for products generator
* load test for each *.test.js file in packages folder
* [test] unit test for utils/common
* refactor all products with productGenerator for all examples
* refactor folder structure
* move component <Code /> to src/components/common
* rename component file name
* beautify code block with google-code-prettify
* prettyPrint when componentDidMount
* css style for code block
* skip rule 'no-unresolved' for eslint
* conflict with webpack resolve path
* refactor all code block in example folder with component <Code />
* refactor scss folder structure
* specify the responsibility for each stylesheet with file name
* load local color themes, tomorrow, for google code prettify
* re-select demo color and save into variable
* unify the color system for storybook