Viv memcanvas starts at a valid VA, fixing a lot of render bugs.

the existing code arbitrarily slams in some offset from the va we want
as the starting va.  for viv, if that is in the middle of a string, the
size of the string gets slammed in, causing all offsets to be wrong.  if
a long string exists just prior to the thing you want to see, often your
object doesn't get rendered.