add two simple directwrite objects

the main factory and the layout factory
fix plx::RangeFromString to take const and non-const
add implicit cursor position to file read.