Fonts arrive with a units specified, typically 1000 and with values for ascent/decent/xHeight/more.... This provides the basis for font sizing and kerning. In txt we know the relative sizes detailed in the font and we know each character size. This level of detail is unknown to the canvas API today, text is a black box returning images of characters. Also glyphs are drawn inverted along the true baseline so layout is very accurate in dealing with lineHeight and vertical positioning.
I have been using LOOM for the past few months in beta. The live-workflow really streamlines development and changes how you build apps and games. The live-reload feature is development-time only. With -live-reload enabled, you simply press save and new bytecode and game assets are pushed to running apps over wifi. The edit/run cycle is very fast and provides for great team iteration on gameplay and graphics.
LOOM uses a dialect of AS3/ES4+(hint of C#) but compile to LuaVM bytecode. The runtime uses Lua/LuaJit(where allowed) and has a 2Mb footprint but this can be optimized in the native sdk.
Since early alpha the sdk has been very solid and as @bengarney's 3rd development platform, it has it where it counts.