Fix #622 New Recording UI

Overall new look for the recording UI. Made buttons persistent
and media buttons with custom icons. Added option to leave
record-mode and auto-record mode. Auto-record feature
has been moved to the menu. Spacebar now pauses and
unpauses recording.
Refactor and fix logic in recording api

Refactored and fixed recording api logic.
Implemented a shelve object so changes can persist more reliably and
elminate the need for server teardown code.
API tests now use pytest fixtures to create a baseline for
tests instead of xunit style setup and teardown methods.
Refactored and fixed logic of test_server.py tests.
Fix #588 Refactor plugins to use Config framework

Each plugin class that saves configuration
settings to the plugin.conf file now has its own
CONFIG_CLASS that extends the Config class
from the freeseer.framework.config.core package

Plugin options are loaded and saved from/to file
via the plugin's Config class.

Changes the YAPSY ConfigurablePluginManager to
simple PluginManager.

Refactored plugins:
- Jackaudio
- PulseSrcAudio
- Multiaudio
- DesktopLinuxSrc
- Firewiresrc
- Usbsrc
- Videotestsrc
- Picture-in-Picture (pip)
- Videopassthrough
- Audiofeedback
- Ogg Icecast
- Ogg output
- Videopreview
- RTMP Stream
Fix #476 Auto language changing function finished.

Fixes 476.
If the user does not have the freeseer.conf file, the function will detect the system location for default language.
If there is a config file, the language setting in that file will have higher priority.
For Chinese, If the location is not zh_CN, Traditional Chinese will be used.
If there is no translation for the system location, English will be used.
Solve the python standard formation problem in code.
Delete the redundant backslash to fit the format requirement.
Delete the trailing space to fit the format.
Pass config argument to FreeseerApp to solve the duplicated code problem when doing the auto language changing.
Fix the format problem of missing whitespace.
Modify the code according to the code review. This version is not yet functional because of some bug.
Change the code according to code review
Change the default language to en_US
Add one blank line according to code style