New design is bound to BrowserRootCategories collection

New design is bound to BrowserRootCategories collection. There are some bugs but we have something to show. Works correctly for Geometry category. Possible too long names of some functions. For example: `Geometry.Cuboid`.

@Benglin, please review.
I see, thanks for explaining it. Since now the ```if``` statement is more than one line, please put a curly bracket around it. Also, can you add description to this ```if``` condition if the exception is thrown, where should the developer look? For example:

```cs
// If the following exception is thrown, please look at "LibraryWrapPanel.cs"
// where we insert both "BrowserItem" and "ClassInformation" items, ensure that
// the "ClassInformation" item is inserted last.
```

Let me know and I'll merge this in now :)