Store all items on the same list and make the model flat

Storing all items into the same list makes things easier.
We'll tell which type an item is by casting it. This is not always
possible now because PlacesItem is used for almost every item type
rather being used as a generic type.

We also make the model flat because QtQuick doesn't have any tree view
therefore we need to separate different items with sections on the
"category" property.

In my design each item type implementation will set the "category"
property to a translatable string (such as Places, Bookmarks, etc...).