Picoweb - a dedicated HTTP server for GenoM modules

Picoweb is an HTTP server designed to make the contents of the posters
created by GenoM modules available as XML documents to applications
like user interfaces, debugging software, or control/supervision
software. 
This is not a general purpose web server. 

Every Genom Module provides a CGI procedure that exports its posters
in XML, as part of its client library. Picoweb is able to autoload the
client library of an exiting module when it receives a request for its
CGI procedure. 

By default, picoweb listens on the 8080 port and outputs logging
information to stdout. 

When invoked whithout any parameter, the CGI procedure returns a list
of available posters. It supports one query 'get', which takes one
required parameter: the name of the poster to retrieve.

Examples:

mirrorball% wget -q -O - http://localhost:8080/demo
<?xml version="1.0" encoding="ISO-8859-1"?>
<demo>
        <errorParam></errorParam>
        <posterList>
                "Cntrl",
                "Mobile",
                "Mobilestate",
                "Mobileref"
        </posterList>
</demo>

mirrorball% wget -q -O - 'http://localhost:8080/demo?get=Mobile'
<?xml version="1.0" encoding="ISO-8859-1"?>
<demo>
        <errorParam></errorParam>
        <Mobile>
                <error></error>
                <data>
                        <state>
                                <position>0.000000</position>
                                <speed>0.000000</speed>
                        </state>
                        <ref>0.000000</ref>
                </data>
        </Mobile>
</demo>

Note:

picoweb can access local or remote posters transparently. However 
there's a subtle problem within remotePosterLib that will probably
cause picoweb do dump a core if it has to handle two requests to
remote posters concurrently.
