Add functionality to draw viewer component behind all nodes

As Dimitry pointed out, I called the viewer component's paint method directly from MapView's paintComponent method. Moreover, I did some minor refactoring. In NodeView's paintComponent method, there were two switch statements in a row with the same switch expression, but is there a specific reason for that? (I merged them into one).
Fix method to clear image

The background image URI property is now reset by removing the background image URI property key instead of using a constant.
Changes are now propagated across saves
Allow both relative and absolute URI's to be stored into background image URI property