When enabling the border during object creation, the first time updatePaintNode
would be called we'd call setBorderWidth() which switches the node to the bordered
rectangle material, then tries to set the border width, which fails because we have
no geometry rect yet. This splits up setBorderWidth into setBorderEnabled and
setBorderWidth so we can call setBorderEnabled as first thing and setBorderWidth
once a proper rect has been set.
In addition, this also changes the behaviour of border to be completely contained
within the item, to match QtQuick Rectangle behaviour.