Only read app state from root component

Refactor todo-core into items-core and store items in a
vector, so we dont have to deal with ordering issues
Add location hash parsing
Implement editing items
Enable location hash support