Improve sharing

Previously, the share page can handle only a limited number of shares and only one of each type.
Now the configuration has been change to be more flexible and allows an unlimited number of shares.
The share description is located in an array and the share configuration is stored along with the
user configuration.

Note: I tried to include the specific javascript code in a separate file but I did not succeded to
import it.
Merge pull request #433 from aledeg/share

Improve sharing