Store Custom Element support

This is a draft pull request to gather feedback and fulfill #48 

What is in here:

- A store custom element
- List code, tests and samples being modified to remove its own internal store and use this custom element
- List code not having a store instance by default (to avoid pulling in dstore dependencies if you don't need them), this means List user should always provide a store (which can be the store custom element)

What is not in there:

- delite 0.4.0-alpha support (this is still based on 0.3.0)
- documentation updates
- Select updates to be consistent with List modifications above 
I guess the code examples in the JSDoc (@example) would also need to be updated accordingly - I can do it after the merge of your PR, or you do it before.