Marker placement methods moved into separate files, added new placement methods

My initial intention was to add placement methods for placing markers symbolizer on the first or last vertex of path.
I found code for marker placement duplicated in multiple files, only "line" placement was isolated in markers_placement.hpp.
So I tried to isolate particular placement methods into separate classes and added two new classes for my new placement methods.