VisualクラスとPreferenceクラスの追加

一応きれいな形では書けた。

しかし、Preferenceクラスは、Visualクラスに対して90°の値をとるような設定をまだし終えていない。
また、Agentクラスのコンストラクタにはどのような引数をとるものが必要かまだわからなかったため放置。