Fixed tab stop width rounding error with newer Qt versions.

Previously, Qt's QPlainTextEdit only allowed tab stop widths to be
set as an integer. This commit adds code to test if a new qreal-based
API is available, and uses it if it is. This fixes issues with
rounding error.