Make icon for embed buttons customizable

d.o issue: https://www.drupal.org/node/2324197
It's just the way this is done in most places in Core. Also, given the fact that the scheme and location are independent of each other, it'll be easier to swap one thing with the other if we want to do so. IMO the code looks more modular this way though there's no benefit per se. Let me know if this version works.