I think this technic is a bit messy, it works fine for custom icons and a set of 20–30 icons. But still imagine how it will load your system, if you will have like 100 buttons of this kind in one file, Its like a hell of a hidden objects. Especially if you put 100 icons in the pack.
Isn’t using iconfont a better and preformance-less solution? Giving on the idea is that mostly the icon packs of this kind consist of 1 color.