Zed_cursor

`sig
type t
exception Out_of_bounds
val create :
int ->
(int * int * int) React.event ->
(unit -> Zed_lines.t) -> int -> int -> Zed_cursor.t
val copy : Zed_cursor.t -> Zed_cursor.t
val position : Zed_cursor.t -> int React.signal
val get_position : Zed_cursor.t -> int
val line : Zed_cursor.t -> int React.signal
val get_line : Zed_cursor.t -> int
val column : Zed_cursor.t -> int React.signal
val get_column : Zed_cursor.t -> int
val wanted_column : Zed_cursor.t -> int React.signal
val get_wanted_column : Zed_cursor.t -> int
val set_wanted_column : Zed_cursor.t -> int -> unit
val goto : Zed_cursor.t -> ?set_wanted_column:bool -> int -> unit
val move : Zed_cursor.t -> ?set_wanted_column:bool -> int -> unit
end`