Store state under component fingerpring

Component fingerprint uniquely identifies a component. Earlier we used root node
ID for that and so some nested async component hierarchies were failing to
deliver state to a browser.
Add specs for ReactAsync.renderComponentToString
release 0.3.3