make it possible to use IconicsDrawable to define xml drawable
Starting with API 24, you can define drawable in xmls that are implemented in code instead of being limited to the few existing drawable.

If `IconicsDrawable` supported that, you could create a drawable with this content (in `res/drawable`):
```xml
<?xml version="1.0" encoding="utf-8"?>
<com.mikepenz.iconics.IconicsDrawable xmlns:app="http://schemas.android.com/apk/res-auto"
    app:iiv_icon="gmd-favorite" />
```

And then, you could use it in a lot of place that need a drawable, including in your menu definition. This would replace most, if not all, use of `IconicsMenuInflaterUtil` for API >= 24.

There is three things that the `Drawable` needs to do for this to work:
1. it need a no argument constructor
1.  it need to override `public void inflate(@NonNull Resources r, @NonNull XmlPullParser parser, @NonNull AttributeSet attrs, @Nullable Theme theme)`. This method will be called on the drawable instance. It's in this method that you get all  the values from the XML.
1. the attributes needs to be defined in `attrs.xml`

For `IconicsDrawable`, the issue is the need for the `Context`.  We need a way to make it not need the context.
If I read the code correctly, it used for two things: initializing Iconics and for some of the setter.

I see two way of making the `Context` not mandatory:
1) Making the `context` field nullable
The `Iconics.init(context)` call will throw an exception, if `Iconics.init` was not called before: I thing this is what we want
For all the setter that use the context: make them crash (use `context!!`). Provides an alternative that take the context as an argument. The problem is that we loose some safety

2) Move all the code from `IconicsDrawable` to a new class (`IconicsDrawableNoContext` for example). Remove the context field. Call `Iconics.init(null)` instead of `Iconics.init(context)`. Modify all the setters that use the context so that they take the context as a parameter.
Make IconicsDrawable inherit from this new class. Implement all the setter that need the context by calling the version with the context in parameter. You could then use `IconicsDrawableNoContext` in the XMLs.

I prefer the second solution.


What do you think of all that?