define a function to make link widget

リンク要素を生成する関数を追加しました。
linkの種類として、url、info、file、がwid-edit.elに定義されてるので、
生成するwidgetを選択する処理が入ってます。
`:link-type`とかのオプションで明示的に種類を受け取るのが普通の実装なのかなとは思ったんですが、
それだとちょっと記述がめんどくさいなぁと。

```lisp
(input :type link :link-type url :value "http://...")
```

なので、url、info、fileオプションで種類と値の両方を判別してしまうようにしましたが、
他言語のMVCフレームワークに沿っているとのことなので、
明示的な指定方法にさせるべきということであれば、修正しようと思います。