Updates to Component

Allow icon, inPorts, outPorts to be defined in classes.
Allow icon to be passed as an option to Component().
Component Cache updated to handle the icon property object.
Fixed typo
Implement MapComponent helper
Data casting components