Added menu option and functionality for tab emulation (tabs insert spaces).

[CTR: Original patch from Fiji at:
      https://github.com/fiji/fiji/pull/30]

Signed-off-by: Curtis Rueden <ctrueden@wisc.edu>
Save and load Script Editor preferences

This saves and loads Script Editor preferences in ij.Prefs for
tab size, font size, line wrap, emulated tabs, and window size.

[CTR: Updated to use the ImageJ2 API. Original patch from Fiji at:
      https://github.com/fiji/fiji/pull/50]

Signed-off-by: Curtis Rueden <ctrueden@wisc.edu>
TextEditor: restore Python-specific behavior

The previous commit eliminated the Python-specific tab size reset logic.
It used to be that every time Python was selected as a language, or a
Python script was opened, tab size would be reset to 4; and for other
languages, it would be reset to 8.

This change restores the Python reset to tab width 4, but changes all
other languages to restore to the saved tab size preference instead.

Hopefully this is an acceptable short term compromise for the "Python
should be width 4" convention, while still enabling tab size to be
persisted as a preference in general.

[CTR: Original patch from Fiji at:
      https://github.com/fiji/fiji/pull/50]
Merge branch 'script-editor-prefs'

This branch adds support to the Script Editor for saving and restoring
various preferences.

This branch was adapted from a contribution to Fiji:
	https://github.com/fiji/fiji/pull/50

Conflicts:
	ui/swing/script-editor/src/main/java/imagej/script/editor/TextEditor.java