Можно-ли задать «обертку» для текста?
Это попытка пересоздать html для canvas, думаю тут инструмент не располагает необходимыми возможностями.
Но можно их эмулировать, тогда придется писать функцию, которая сможет вывести текст как в блоке - с переносами и выравниванием (measureText() в цикле и прочие алгоритмы). Но если речь про игровой рендер, то игра не стоит свеч - это будет довольно медленно.
Александр Коротаев прав: нужно писать свою либу с анкор-поинтами для манипуляции объектами по-типу, как это реализовано в том же Unity3D.
UPD: Подобное - есть в виде плагина на Crafty.js (DOM, Canvas, WegGL) Я в нём работаю, поэтому - знаю о чём говорю...