message: place moving inclusion above marker
diff: @@ -1734,6 +1734,10 @@ function renderTree(
  const outerViewportHeight = parseInt(viewportDiv.style.height, 10);
  const outerViewportWidth = parseInt(viewportDiv.style.width, 10);
  const outerViewport = new Viewport(outerViewportHeight, viewportDiv, outerViewportWidth);
  + if (flowView.movingInclusion) {
  + outerViewport.addInclusion(flowView, flowView.movingMarker,
  + flowView.movingExclu.x, flowView.movingExclu.y, docContext.defaultLineDivHeight, true);
  + }
  const startingPosStack =
  client.mergeTree.getStackContext(requestedPosition, client.getClientId(), ["table", "cell", "row"]);
  const layoutContext = {
  @@ -1873,7 +1877,8 @@ export class Viewport {
  }
  public addInclusion(flowView: FlowView, marker: MergeTree.Marker, x: number, y: number,
  - lineHeight: number) {
  + lineHeight: number, movingMarker = false) {
  + if ((flowView.movingMarker !== marker) || (movingMarker)) {
  const irdoc = <IReferenceDoc>marker.properties.ref;
  if (irdoc) {
  // for now always an image
  @@ -1905,6 +1910,7 @@ export class Viewport {
  }
  }
  }
  + }
  public horizIntersect(h: number, rect: IExcludedRectangle) {
  return lineIntersectsRect(this.lineTop, rect) || (lineIntersectsRect(this.lineTop + h, rect));
  @@ -3028,6 +3034,8 @@ export class FlowView extends ui.Component {
  showCursorLocation: true,
  } as IFlowViewModes;
  public movingInclusion = false;
  + public movingExclu: IExcludedRectangle;
  + public movingMarker: MergeTree.Marker;
  public lastDocContext: IDocumentContext;
  private lastVerticalX = -1;
  private randWordTimer: any;
  @@ -3403,6 +3411,8 @@ export class FlowView extends ui.Component {
  }
  return lineDiv;
  }
  + } else {
  + console.log(`elm in fwd line search is ${elm.tagName}`);
  }
  elm = elm.nextElementSibling as ILineDiv;
  }
  @@ -3692,6 +3702,8 @@ export class FlowView extends ui.Component {
  this.movingInclusion = true;
  const refimg = elm as IRefImg;
  imgMarker = refimg.marker;
  + this.movingExclu = refimg.exclu;
  + this.movingMarker = imgMarker;
  }
  }
  if (this.movingInclusion) {
  @@ -3761,8 +3773,27 @@ export class FlowView extends ui.Component {
  this.element.onmousemove = preventD;
  if (e.button === 0) {
  freshDown = false;
  + if (this.movingInclusion) {
  + const deltaX = prevX - downX;
  + const deltaY = prevY - downY;
  + const pos = this.getNearestPosition({
  + x: e.clientX + deltaX,
  + y: e.clientY + deltaY,
  + });
  + const irdoc = <IReferenceDoc>imgMarker.properties.ref;
  + irdoc.layout.dx = 0;
  + irdoc.layout.dy = 0;
  + const refProps = {
  + [Paragraph.referenceProperty]: irdoc,
  + };
  + annotateMarker(this, refProps, imgMarker);
  + if (pos !== undefined) {
  + console.log(`moving to ${pos}`);
  + moveMarker(this, getOffset(this, this.movingMarker), pos);
  + }
  + this.render(this.topChar, true);
  + } else {
  const elm = <HTMLElement>document.elementFromPoint(prevX, prevY);
  - if (!this.movingInclusion) {
  const span = elm as ISegSpan;
  let segspan: ISegSpan;
  if (span.seg) {
  