Reimplement shapes with borders to deal with transparency better.