func (a *Cursor) Locate(layer int16, p XY) {
	a.Layer = layer
	a.Position = XY{p.X, p.Y}
	a.Margin = a.Position.X
}
Locate moves the text cursor to a specific position. It also defines column
p.X as the cursor margin, i.e. the column to which the cursor returns to
start a new line.
package pixel
import (
	"fmt"
	"unicode/utf8"
	"github.com/cozely/cozely/color"
)
type Cursor struct {
	Color         color.Index
	Font          FontID
	Margin        int16
	LetterSpacing int16
	Interline     int16
	Position      XY
	Layer         int16
}
func (a *Cursor) Style(c color.Index, f FontID) {
	a.Color = c
	a.Font = f
	a.Interline = int16(float32(a.Font.Height()) * 1.25)
}