xrtemplate (xulrunner template) is aimed at providing an easy to setup minimal
xulrunner application, with development tools. It works by unpacking an
application template, and making it ready for immediate use. xrtemplate comes
with a default application template, but you may use your own template if it
suits you better

how to run it:
--------------
run, on the command line:
$ xrtemplate myproject
it will create folder named "myproject" in your home directory. An application
named "myproject" will be created in that directory. You can then launch the
application the usual way (for example by running 
"xulrunner myproject/application.ini")

If you want to use your own template instead of the default one, specify it's
location with --template (or -t) option on the command line.

If you want your project to be created in another directory than your home
directory, specify target directory with --destination (or -d) option on the
command line.

If you want to specify vendor's name, use --creator (or -c) option on the
command line. If you don't specify vendor's name, xrtemplate will use your
login user name.

If you want to specify application version, use --version (or -v) option on the
command line. If you don't specify version, xrtemplate will use 0.1.

how are templates transformated:
--------------------------------
A template is a directory containing the application. That template directory
may also be archived/compressed and be a .zip, .tar, .tar.gz or tar.bz2
archive. Give path to archive or expanded directory with --template option to
xrtemplate, and it will manage.

After expanding template, xrtemplate, fills a few fields in application.ini if
they are not already set:
 * Vendor field is set, either to your login user name, either to the name you
    specified with --creator option.
 * Version field is set, either to 0.1, either to the version number you
   specified with --version option.
 * BuildID is set to current date
 * ID is set to an arbitrary Universally Unique Identifier
That means for example, that you can specify, for example Vendor=your full name
in application.ini, and it will appear unmodified in minimal application, but if
you leave Vendor field blank, it will be generated.

Then, xrtemplate traverses all files, and renames files named "appname.ext" to
"myproject.ext", it also edits files to replace all occurences of $APPNAME with
myproject. That allow to define functions or dom elements identifiers, whose
name will depend on your project name. It also replaces $VENDOR occurences with
name of vendor.

what's inside default template:
-------------------------------
Default template contain an empty window with a debug toolbar. Debug toolbar
has currently five buttons:

 * _js_ opens javascript console
 * _domi_ open dom inspector. Inspector is not shipped with xrtemplate, so you
    may need to install it by yourself.
 * _editxul_ opens xuledit to allow you to test easily small samples of xul.
 * _open_ prompts you for an url to open in a new window. That url may be either
    a distand url (like http), or a chrome url, or any kind of url recognized by
    gecko.
 * _restart_ restarts application.

Default template also sets a bunch of useful prefs to true:
 * browser.dom.window.dump.enabled
 * javascript.options.showInConsole
 * javascript.options.strict
 * nglayout.debug.disable_xul_cache
 * nglayout.debug.disable_xul_fastload

When you disable debug mode (by modifying "debug" in
defaults/preferences/prefs.js or via about:config url), debug toolbar
disappears, and debug preferences are not set anymore.

Default template also provides a locale structure directory, and a skin
structure directory. All non skin dependant css rules would go in
chrome/content/css directory, all skin content css rules would go in
chrome/skin/classic. Skin dependant rules are sources from non skin
dependant css.

Default template also contains a Makefile to compile idl files.
