Avoid null views in mRecycledViews

Avoid null views in mRecycledViews and recycle
the most recently used view first - less memory
fragmentation
Merge pull request #91 from mshoykher/master

Avoid null views in mRecycledViews
Fix non-UTF-8 characters in comments
Measure and layout properly

Fulfil the onMeasure contract by allowing AT_MOST and UNSPECIFIED specs
instead of failing at runtime. In addition, use the view's padding to
make child views smaller, the way it should be. There is one problem,
which is that the ViewFlowIndicator implementations assume that the
scrolled region is the whole width of the container, whereas it might
actually be smaller, so they show wrong positions if left/right padding
is non-zero. This will probably require an interface change to fix.
Avoid views flickering when interrupting a scroll

If you start a new scroll while the scroll animation is in progress,
onInterceptTouchEvent will call mScroller.abortAnimation,
and when computeScroll is next called, postViewSwitched will run.

As computeScroll is called within View.draw, this is not a good time
to be fiddling with the layout by adding and removing children. It
causes the wrong view to be drawn for a frame when this happens.

Instead of calling postViewSwitched immediately,
I've changed it to be posted to the handler so it will be called
after this frame has finished drawing and before the next is laid out.
Handle padding in end-of-carousel scroll limit

My recent change to support padding also necessitates a change to the
touch handlers, when they work out whether we can scroll any further.
It's now necessary to compare the child's right edge with the inner
boundary, not the outer width.
Make stroked circles smaller

by the thickness of the stroke, so that they have the same outer
diameter as filled circles.

In addition, avoid repeated computations in onDraw by changing how
the spacing is stored.
Fix the indicator placement in CircleFlowIndicator

Now that the width of each child (and thus the scroll amount per
page) is not the same as the width of the FlowView,
CircleFlowIndicator must use getChildWidth(), not getWidth(),
to work out how to place the active indicator.
Fix class documentation of CircleFlowIndicator

In HTML, a list item should be enclosed in <li>, not <ul>,
which is for the whole list.
Add snap option to CircleFlowIndicator

like ViewPagerIndicator's. It makes the active indicator jump to the
next position instead of following the scroll offsets. I've also
documentated it in the README.
Further work to onMeasure

to support the interior views being wrap_content.
Make fading-edge work

by overriding get*FadingEdgeStrength().
Merge pull request #92 from orac/utf8

Fix non-UTF-8 characters in comments
Merge pull request #93 from orac/measure

Implement measure and layout so that non-fixed sizes can be used
Merge pull request #94 from orac/circleflow-snap

Circleflow snap
Merge pull request #1 from pakerfeldt/master

update from source