Hej beatovich,
an deiner Stelle würde ich nicht versuchen, das Rad neu zu erfinden. Es gibt doch allerhand Ansätze und beispielsweise auch css-Tricks ein ganzes Dutzend Artikel dazu.
Ich habe das mal auf deutsch in eigenen Worten zusammengefasst. Die ganzen Links gehen dann auf englischsprachige Artkel.
Vielleicht hilft es ja.
Falls das zu lang ist: wenn es nicht zu viele icons werden setze ich die inline ein, dann kann hat man die meisten Gestaltungsmöglichkeiten per css und es werden keine zusätzlichen http-requests benötigt. Bei dateigrößen unter 1kbyte üblicher icons geht das schneller als caching.
Hier der Artikel:
SVG – einfach, flexibel, schnell und robust!
Über gefundene Fehler freue mich, werde die gern korrigieren!
Marc