Implement new classes, stop using global variables

DotLangParser:
- parseFile: read lang file and return array with extracted values
- Keep old legacy code while waiting for views to use the new code

LangManager:
- loadSource: load a lang file
- analyzeLangFile: analyze langfile (identical strings, missing, errors, etc.). Fixed loose comparison on identical strings in the original code ("01" and "1" were considered identical).
- isStringLocalized: return true if string is localized
- buildLangFile: create .lang file content
- manageStringExceptions: manage exceptions for some strings in lang_update (not tested)

Project:
- getReferenceLocale: return reference locale for a website
- getSupportedLocales: return supported locales for a website or a single file in website
- getWebsiteName: get name of website
- getWebsiteFiles: get list of files for website
- isSupportedLocale: check if locale is supported by website
- isCriticalFile: check if file is marked as critical
- getLocalFilePath: return full local path for a file
- getPublicFilePath: return full public path for a file
- getPublicRepoPath: return path to public repo

Utils
- secureText: sanitize text
- leftStrip: function to clean meta tags
- cleanString: remove extra tags like {ok}
- startsWith: moved from DotLangParser
- highlightPythonVar: highlight Python vars in strings to display errors
- isUTF8: return false if file's encoding is not UTF-8 or us-ascii
- logger: log message to console, quit if requested (not tested)
- checkEOL: return end of line character
- fileForceContent: save file to path, creating folders if necessary

Add tests for new classes and functions.

Views:
- Updated views to use new class
- Listlocale, Translatestrings: moved css into external .css file
- Activation: ignore files with Python errors.
- json (api): return HTTP code 400 if file or string is not supported, don't display "{ok}" in strings. Keep "callback" parameter in links.

Template:
- Added memory consumption

Other:
- Added documentation in readme.md for available URLs and lang_update syntax (moved rom lang_update)
- Removed {l10n-extra} support
- Associated priorities to array for single website
- Removed /read.php
- Removed unused view seriallocalestatus.inc
- Moved lang_update and mark_active into /scripts
- mark_active: switched to internal functions instead of parsing external JSON file