DUI: icons for class buttons, method buttons, tooltips.

This PR was made to implement Small icons for class buttons & method buttons; Large icons for tooltips.
# Before
![image](https://cloud.githubusercontent.com/assets/8158404/4057010/ea287b00-2dc2-11e4-899b-03e68c08ae5b.png)

# After
![capture](https://cloud.githubusercontent.com/assets/8158404/4061382/81977b10-2df7-11e4-8b18-78f188937443.PNG)

# Pay attention
I know that it's bad, when I change a lot of code, but... You should pay attention on `BrowserInternalElement`. It's thing from which we draw class button(and it had only Name and that's all). I had to add to its' constructor 1 more value `assembly`, so that class button will know in which assembly should it search icon for itself.

# Reviewers

@Benglin, please take a look.

P.S. Large icon have not done yet.
Another thing is, instead of ```return null```, we may want to add ```null``` to the ```cachedIcons```, at least that marks the fact that we have already called ```LoadIconInternal``` and we could not get the icon in the last call, so no point in trying to get the ```DictionaryEntry``` anymore. Something like this:

```cs
if (resourcesReader == null) {
    cachedIcons.Add(iconKey, null);
    return null;
}

if (iconData.Key == null || iconData.Value == null) {
    cachedIcons.Add(iconKey, null);
    return null;
}
```