A point excerpted from a talk I gave earlier this week at Microsoft's internal performance symposium (alt talk title: "CSS-in-JS: Frontend's Worst Idea"):
Browsers are virtual machines tuned to efficiently turn *markup* into *pixels*.
If your system tries to generate pixels from not-markup, you'll be working against the grain of the system, and should expect to suffer massive performance penalties -- both in CPU and memory use -- as a result.
For deep reasons, this is not going to change.