weston-ivi-shell: make 'extern' the definition of ivi_layout_interface in H file

        the lack of 'extern' keyword at the definition of
        ivi_layout_interface in the H file resulted a local,
        empty duplicate of the struct whenever the H file was
        included. This duplicate shadowed the original function
        table and since it was all empty it resulted crashes whenever
        someone tried to use it.

        Modules that access the same table via dlopen/dlsym functioned
        properly however.