#12

* Make static lib on windows platform, because no symbol exported.
* Use `boost::math::isnan` for portability.
* Change vector construction code to pass assert in vector operator `[]`.
* Move the backtracking part into dp algorithm, to reduce memory use. (Just some adhoc changes. Redundant variables not removed.)