ported back window modes

also moved drag operations into UICore.cs